Television viewers are very familiar with printed programming schedules that appear in daily newspapers or weekly magazines, such as TV Guide®. The printed program guide lists the various television shows in relation to their scheduled viewing time on a day-to-day basis.
Cable TV systems often include a channel with a video broadcast of the printed program guide. The cable channel is dedicated to displaying listings of programs available on the different available channels. The listings are commonly arranged in a grid. Each column of the grid represents a particular time slot, such as 4:00 p.m. to 4:30 p.m. Each row represents a particular broadcast or cable channel, such as ABC, PBS, or ESPN. The various scheduled programs or shows are arranged within the rows and columns, indicating the channels and times at which they can be found. The grid is continuously scrolled vertically so that a viewer watches a continuously refreshing set of programs within three or four time slots.
Data for available programs is typically received by a cable system as a plurality of data records. Each available program has a single corresponding data record indicating a variety of information about the program such as its channel, its starting and ending times, its title, names of starring actors, whether closed-captioning and stereo are available, and perhaps a brief description of the program. It is not difficult to format a grid such as described above from this type of data records. The grid is typically formatted once at the cable system's headend and broadcast repeatedly and continuously to the thousands of homes served by the cable system.
Newer, interactive cable distribution systems feature electronic program guides (EPGs) which function somewhat similar to the broadcast program listing channels described above. Rather than scrolling automatically, however, an EPG allows a viewer to use a remote control device or other input device to scroll as desired both horizontally and vertically through a program grid. This functionality utilizes the two-way communications capabilities of interactive cable systems.
The EPG is typically implemented in software which runs on a set-top box (STB) connected between a TV and a cable system home entry line. When scrolling to a new column or row, the set-top box inserts the appropriate programming information into each new row or column. This information is either cached at the STB, or requested from the cable system's headend.
Interactive systems permit viewers to control what programs are shown on their TV and when. Movies-on-demand is one example of this interactive control. A viewer can peruse a list of available movies from the EPG, and then order a selected movie. The STB sends a request for the movie to the headend server. The movie is retrieved and transmitted to the requesting STB. Movies-on-demand thus enables viewers to shop, purchase, and watch a movie at their convenience, as opposed to being restricted to certain start times as is typical with conventional premium or pay-per-view channels.
Many industry and commercial experts expect entertainment systems to evolve to the point of offering many other interactive services to the consumers. For instance, consumers will be able to use their TV or computer to shop for groceries or other goods, conduct banking and other financial transactions, play games, or attend educational courses and take exams.
Conventional distribution networks support many channels. It is common for a TV audience to have 50 to 100 channels. However, as technology improves and programming content continues to expand, the number of channels are expected to increase dramatically to many hundreds, or even thousands of channels.
One problem with the growth in the number of channels is that vastly enlarged selection, while appealing to a viewer, will make it more difficult for a viewer to locate programs of their preference. Traditional methods of locating programs—such as memorizing channel numbers, scanning program grids, or random surfing—will become less effective as the number of channels increase. For example, imagine the difficulty in trying to present hundreds or thousands of programs in a scrollable grid-like EPG user interface (UI), which might show only a few programs or channels at one time. This UI structure will most likely be unworkable for large program and channel offerings. Additionally, surfing through hundreds or thousands of channels will likely consume a large amount of time, causing the viewer to miss the programs he/she is attempting to find.
It is also likely that the traditional practice of relating programs and networks to specific channels will become less meaningful as the number of channels increases. Suppose, for example, a viewer might be interested in watching football. Today, a viewer might remember that channel 6 (NBC) and channel 3 (FOX) carry the football games and simply tune to one of these channels. In the future, however, there might be football games being broadcast on channels 78, 495, and 1042. These channels might be small local stations that are broadcasting their local football team, or one of many channels used by a major network. Viewers are not likely to remember that channels 78, 495, and 1042 are carrying football games at specific times.
Moreover, the correlation of channels to networks and programs vary from market to market. For instance, the sports network ESPN might be carried on channel 15 in one market and on channel 29 in another market. Memorizing program offerings in terms of channel numbers will prove frustrating as a viewer travels from one market to the next.
Accordingly, there is a need to develop operating methods which allow viewers to easily find programs or networks regardless of the channels on which they are carried. Additionally, these operating methods should enable viewers to locate programs regardless of whether they remember the channel number, program name, or network name.
Toward this end, a company named TVHost, Inc. has developed a software-based product “ETV” which assists a viewer in locating particular programs. The ETV system organizes the different program offerings according to different topical categorizes. FIG. 1 shows an example screen display of a graphical user interface (UI) window 20 supported by the ETV system. The ETV window 20 has a first pane 22 that lists alphabetically predefined types of programs, such as Business, Children, Educational, Game Shows, and so forth. The viewer can control a focus frame or highlight bar 24 to choose a type of program from the first pane 22. A second pane 26 contains a list of programs that are available for the program type highlighted in the first pane 22. In this example, the type “business” is highlighted, and hence business-related programs are shown in the second pane 26. The second pane 26 also provides other programming information including start time, network or station, and duration.
The ETV system thereby offers an alternative to a scrollable grid presentation which organizes programs according to type. This allows the viewer to select a program type, and then review the programs offered for this type. The ETV system also permits rudimentary “search” capabilities. FIG. 2 shows another graphical UI window 30 which appears when performing a search. A first pane 32 contains a scrollable alphabetized list of stations, and allows a viewer to choose a station. A second pane 34 contains a scrollable alphabetized list of program types from which the viewer may select a program type. Other parameters, such as MPAA, rating, and start time, can also be selected by the viewer. Based upon these selections, the ETV system locates programs which are of a particular type, from the selected station, and satisfy the ratings and start times.
The ETV system is limited in many respects. The ETV system does not permit searches on arbitrary fields. Instead, the categories are predefined for the viewer. The viewer is not able to define his/her own complex searches using, for example, Boolean logic of “OR,” “AND,” and “NOT.” Another limitation is that the ETV system does not provide any active controls which intelligently narrows selections based upon viewer selections. An “active” control is a control that does not require any other action on the part of the user. For instance, if a viewer selects a station in pane 32 of the search window 30 (FIG. 2), all program types will be listed in the second pane 34. In fact, the same lists will always occur in both the first and second panes 32, 34 regardless of what selections the viewer has previously made. The viewer is not able to see any results until the viewer activates a “Begin” search key 36.
Accordingly, there remains a need to develop operating methods which decouple associations between the channel and network or program and also allow intelligent search procedures to better assist the viewer in locating preferred programs.